package online.heycm.codegenerator.service.param;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * @author hey
 * @version 1.0
 * @date 2023/12/21 11:28
 */
@Data
public class GenerateReq {

    /**
     * 生成器
     */
    @NotEmpty
    private String generator;

    /**
     * 生成类包名
     */
    @NotEmpty
    private String parentPackage;

    /**
     * 生成表
     */
    @NotNull
    @Size(min = 1, max = 10)
    private List<String> tables;

    /**
     * 表前缀
     */
    private List<String> tablePrefixList;

    /**
     * 字段前缀
     */
    private List<String> fieldPrefixList;

    /**
     * 自动填充字段：新增和更新时
     */
    private List<String> insertUpdateFills;

    /**
     * 自动填充字段: 新增时
     */
    private List<String> insertFills;

    /**
     * 自动填充字段: 更新时
     */
    private List<String> updateFills;

    /**
     * 逻辑删除字段
     */
    private String logicDeleteFill;

    /**
     * 是否启用 Swagger
     */
    private boolean useSwagger2;

    /**
     * 是否启用 Lombok
     */
    private boolean useLombok;

    /**
     * 作者
     */
    private String author;

}
